package object;
/**
 * 经常会使用到的Object中定义的方法的情况。
 */
public class Demo {
    public static void main(String[] args) {
        Point p = new Point(1,2);

        String str = p.toString();
        System.out.println(str);
        /*
            Object中常被我们使用的方法之一:toString
            String toString()
            该方法返回一个字符串，作用是将当前对象转换为一个字符串.Object中该方法的默认实现
            未返回当前对象的地址作为字符串内容，格式:类名@地址.
         */
        //System.out.println(Object obj);
        //将给定对象toString返回的字符串输出到控制台
        System.out.println(p);

        /*
            任何内容与字符串链接结果都是字符串，而实际执行时，非字符串的对象都会自动被调用
            toString方法，将转换后的字符串进行链接。
         */
        String line = "自定义类型:"+p;
        System.out.println(line);


        /*
            boolean equals(Object obj)
            Object提供的equals方法设计迟早是比较两个对象的内容是否相同，因此当子类需要使用时
            该方法比较内容时应当重写这个方法。否则无实际价值，因为Object定义该方法时默认的实现方式是使用==比较的；
         */
        Point p2 = new Point(1,2);
        System.out.println(p==p2);
        System.out.println(p.equals(p2));



    }
}
